Ext.define('jwawa.erp.framework.JwawaModel', {
    extend: 'Ext.util.Observable',
//    extend: 'Ext.data.Model',
//    store: null,
    constructor: function(config){
        var me = this;

        if(!config){
            config = {}
        }
        Ext.apply(me, config);
        me.callParent(arguments);
//        me.initStore();
    },

//    initStore: function(){
//        var me = this;
//
//        me._store = null;
//        if(me.store){
//            var storeClass = me.store.className ? me.store.className: 'Ext.data.Store';
//            var storeCfg = me.store.cfg ? me.store.cfg : {};
//            me._store = Ext.create(storeClass, storeCfg);
//        }
//
//        return me._store;
//    },
//
//    getStore: function(){
//        var me = this;
//
//        return me._store;
//    },
//
//    setStore: function(store){
//        var me = this;
//
//        me._store = store;
//    },

    buildOpt: function(opt){
        var successFn,
            failureFn,
            callbackFn,
            emptyFn = function(){};

        if(Ext.isEmpty(opt)){
            opt = {};
        }
        if(Ext.isFunction(opt)){
            callbackFn = emptyFn;
            successFn = opt;
            failureFn = emptyFn;
        } else {
            successFn = opt['success'] ? opt['success'] : emptyFn;
            failureFn = opt['failure'] ? opt['failure'] : emptyFn;
            callbackFn =  opt['callback'] ? opt['callback'] : emptyFn;
        }

        return {
            success: successFn,
            failure: failureFn,
            callback: callbackFn
        }
    }
});